package raf;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.Scanner;

/**
 * 用户注册
 * 程序启动要求用户输入用户名,密码,昵称和年龄,除了年龄为int值外,其余都是字符串
 * 将用户信息写入文件user.dat
 * 格式设计
 * 每条记录占用固定的100节,其中用户名,密码,昵称各占32字节,年龄占4字节
 */

public class RegDemo {
    public static void main(String[] args) throws IOException {
        Scanner scanner=new Scanner(System.in);
        System.out.println("欢迎注册");
        System.out.println("请输入用户名");
        String username=scanner.nextLine();
        System.out.println("请输入密码");
        String password=scanner.nextLine();
        System.out.println("请输入昵称");
        String nickname=scanner.nextLine();
        System.out.println("请输入年龄");
        int age=scanner.nextInt();

        RandomAccessFile raf=new RandomAccessFile("user.dat","rw");
        //现将指针移到文件末尾以便追加记录
        raf.seek(raf.length());

        //写入用户名
        byte[] data=username.getBytes("UTF-8");
        //将数组扩容到32字节
        data= Arrays.copyOf(data,32);
        raf.write(data);

        //写入密码
        data= password.getBytes("UTF-8");
        data=Arrays.copyOf(data,32);
        raf.write(data);

        //写入昵称
        data= nickname.getBytes("UTF-8");
        data=Arrays.copyOf(data,32);
        raf.write(data);

        //写入年龄
        raf.writeInt(age);
        System.out.println("注册完毕!");
        raf.close();




    }
}
